// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
// 导入路由
import router from './router/router.js'

// 引入element
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

// 引入公共样式
import './assets/common.css'

// 引入树形组件
// var ElTreeGrid = require('element-tree-grid');
import ElTreeGrid from 'element-tree-grid'

// 处理axios 的三个问题
import axios from 'axios'
Vue.component(ElTreeGrid.name, ElTreeGrid)
// 问题1 :基路径
axios.defaults.baseURL = 'http://localhost:8888/api/private/v1/'
// 问题2 : 每次都要 引入axios
Vue.prototype.$axios = axios
// 问题3 : 拦截器
axios.interceptors.request.use(
  function (config) {
    // 添加token
    config.headers.Authorization = localStorage.getItem('token')

    return config
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error)
  }
)

// // 响应拦截器
// axios.interceptors.response.use(function (response) {

//   if (response.data.meta.status === 100011) {
//     //1. 说明过期了
//     // 跳转到login页面
//   }

//   if (response.data.data.token) {
//     localStorage.setItem('token',token)
//   }

//   return response;
// }, function (error) {
//   // Do something with response error
//   return Promise.reject(error);
// });

// 组件 : vue的实例  = new Vue()

// 安装 element
Vue.use(ElementUI)

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  router,
  el: '#app',
  components: { App },
  template: '<App/>'
})
